}
});
+var FaderControl = GObject.registerClass(
+class FaderControl extends St.Widget {
+ _init(params) {
+ super._init(params);
+
+ this._inDrag = false;
+
+ Main.overview.connect('item-drag-begin', this._onDragBegin.bind(this));
+ Main.overview.connect('item-drag-end', this._onDragEnd.bind(this));
+ Main.overview.connect('item-drag-cancelled', this._onDragEnd.bind(this));
+
+ Main.overview.connect('window-drag-begin', this._onWindowDragBegin.bind(this));
+ Main.overview.connect('window-drag-cancelled', this._onWindowDragEnd.bind(this));
+ Main.overview.connect('window-drag-end', this._onWindowDragEnd.bind(this));
+ }
+
+ _onWindowDragBegin() {
+ this._onDragBegin();
+ }
+
+ _onWindowDragEnd() {
+ this._onDragEnd();
+ }
+
+ _onDragBegin() {
+ this._inDrag = true;
+ }
+
+ _onDragEnd() {
+ this._inDrag = false;
+ }
+
+ fadeIn() {
+ this.ease({
+ opacity: 255,
+ duration: SIDE_CONTROLS_ANIMATION_TIME / 2,
+ mode: Clutter.AnimationMode.EASE_IN_QUAD,
+ });
+ }
+
+ fadeHalf() {
+ this.ease({
+ opacity: 128,
+ duration: SIDE_CONTROLS_ANIMATION_TIME / 2,
+ mode: Clutter.AnimationMode.EASE_OUT_QUAD,
+ });
+ }
+});
+
var SlidingControl = GObject.registerClass(
-class SlidingControl extends St.Widget {
+class SlidingControl extends FaderControl {
_init(params) {
params = Params.parse(params, { slideDirection: SlideDirection.LEFT });
});
this._visible = true;
- this._inDrag = false;
Main.overview.connect('hiding', this._onOverviewHiding.bind(this));
-
- Main.overview.connect('item-drag-begin', this._onDragBegin.bind(this));
- Main.overview.connect('item-drag-end', this._onDragEnd.bind(this));
- Main.overview.connect('item-drag-cancelled', this._onDragEnd.bind(this));
-
- Main.overview.connect('window-drag-begin', this._onWindowDragBegin.bind(this));
- Main.overview.connect('window-drag-cancelled', this._onWindowDragEnd.bind(this));
- Main.overview.connect('window-drag-end', this._onWindowDragEnd.bind(this));
}
_getSlide() {
this.slideOut();
}
- _onWindowDragBegin() {
- this._onDragBegin();
- }
-
- _onWindowDragEnd() {
- this._onDragEnd();
- }
-
_onDragBegin() {
- this._inDrag = true;
+ super._onDragBegin();
this._updateTranslation();
this._updateSlide();
}
_onDragEnd() {
- this._inDrag = false;
+ super._onDragEnd();
this._updateSlide();
}
- fadeIn() {
- this.ease({
- opacity: 255,
- duration: SIDE_CONTROLS_ANIMATION_TIME / 2,
- mode: Clutter.AnimationMode.EASE_IN_QUAD,
- });
- }
-
- fadeHalf() {
- this.ease({
- opacity: 128,
- duration: SIDE_CONTROLS_ANIMATION_TIME / 2,
- mode: Clutter.AnimationMode.EASE_OUT_QUAD,
- });
- }
-
slideIn() {
this._visible = true;
// we will update slide_x and the translation from pageEmpty